home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Emulatoren / UAE0.6.4 / src / include / dos-dma.h < prev    next >
C/C++ Source or Header  |  2000-05-27  |  1KB  |  34 lines

  1.  /*
  2.   * UAE - The Un*x Amiga Emulator
  3.   *
  4.   * DOS DMA interface.
  5.   *
  6.   * (c) 1996 Peter Remmers
  7.   */
  8.  
  9. /* Transfer modes */
  10. #define DMA_MODE_WRITE     0x04
  11. #define DMA_MODE_READ      0x08
  12. /* autoinitialization */
  13. #define DMA_MODE_AUTOINIT  0x10
  14. /* address increment/decrement */
  15. #define DMA_MODE_INCREMENT 0x00
  16. #define DMA_MODE_DECREMENT 0x20
  17. /* DMA Modes */
  18. #define DMA_MODE_DEMAND    0x00
  19. #define DMA_MODE_SINGLE    0x40
  20. #define DMA_MODE_BLOCK     0x80
  21. #define DMA_MODE_CASCADE   0xC0
  22.  
  23. /* convenience shortcuts */
  24. #define DMA_READ  ( DMA_MODE_READ  | DMA_MODE_INCREMENT | DMA_MODE_SINGLE )
  25. #define DMA_WRITE ( DMA_MODE_WRITE | DMA_MODE_INCREMENT | DMA_MODE_SINGLE )
  26. #define DMA_READ_AUTOINIT  ( DMA_READ  | DMA_MODE_AUTOINIT )
  27. #define DMA_WRITE_AUTOINIT ( DMA_WRITE | DMA_MODE_AUTOINIT )
  28.  
  29. extern unsigned long DMA_AllocDMABuf (_go32_dpmi_seginfo *info);
  30. extern void  DMA_Mask         (unsigned char channel);
  31. extern void  DMA_UnMask       (unsigned char channel);
  32. extern void  DMA_InitTransfer (unsigned char channel, unsigned char Mode,
  33.                    unsigned long PhysAddr, unsigned short Count);
  34.